package com.medicine.common.utils;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

/**
 * @author bo.chen
 *
 */
public class JsonUtil {

	/**
	 * 将对象转换成json字符串
	 *
	 * @param object
	 * @return
	 */
	public static String bean2Json(Object object) {
		// 对于复杂的数据结构 用JSONArray解析
		if (object instanceof List<?>) {
			return JSONArray.toJSONString(object);
		} else {
			return JSONObject.toJSONString(object);
		}
	}

	/**
	 * 将json字符串转换成 bean
	 *
	 *
	 * @param json
	 *            json字符串
	 * @param clazz
	 *            对象类类型
	 * @return
	 *
	 */
	@SuppressWarnings("unchecked")
	public static <B> B json2Bean(String json, Class<B> clazz) {
		return (B) JSONObject.parseObject(json,clazz);
	}

	/**
	 *
	 * 将json字符串转换成 集合
	 *
	 * @param json
	 *            json字符串
	 * @param clazz
	 *            集合泛型 类类型
	 * @return
	 *
	 */
	@SuppressWarnings("unchecked")
	public static <B> List<B> json2List(String json, Class<B> clazz) {
		return JSONArray.parseArray(json,clazz);
	}

}
